In some environments, a plurality of client devices are associated with each other to form common frame buffer groups and to share a common session for the duration of an event, such as a presentation or one or more paging events. These client devices typically execute a frame buffer client application for displaying received frame buffer updates. Client devices that may join a common frame buffer group include, for example, remote terminals receiving presentations over the Internet from a server and Internet Protocol (IP) phones receiving a paging event over a hotel Local Area Network (LAN). A typical implementation includes a gateway or server agent transmitting frame buffer updates to the client devices over a network. The gateway or server agent also hosts, or is in communication with, an instance of the application associated with each client and responsible for performing application processing on behalf of the associated client. Each application instance typically has a dedicated frame buffer connection to the client, via the gateway or server agent, for transmitting updates to the client.
The disadvantages of such an implementation include that each frame buffer update—each presentation frame or phone page—requires the creation of separate application processes and the transmission of separate frame buffer updates to the application gateway or server agent. This typically results in significant computer processing usage and bandwidth overhead, as well as increased latency in displaying the frame buffer updates at each receiving client device. The above implementation may also lead to limitations in scalability and system performance issues above a threshold number of clients.